package com.joker.aigc.chat.domain.dto;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * 群聊房间表
 * @TableName room_group
 */
@TableName(value ="room_group")
@Data
public class RoomGroupDto implements Serializable {
    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 房间id
     */
    private Long roomId;

    /**
     * 群名称
     */
    private String name;

    /**
     * 群头像
     */
    private String avatar;

    /**
     * 额外信息（根据不同类型房间有不同存储的东西）
     */
    private Object extJson;



    /**
     * 逻辑删除(0-正常,1-删除)
     */
    private Integer deleteStatus;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "上次创建时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /**
     * 是否删除
     */
    @Schema(description = "逻辑是否删除")
    @TableLogic
    @TableField(fill = FieldFill.INSERT)
    private Integer isDelete;

    /**
     * 乐观锁
     */
    @Schema(description = "乐观锁")
    @Version
    @TableField(fill = FieldFill.INSERT)
    private Integer version;



    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}